using System.Collections.Generic;
using System.ServiceModel;
using ServiceLibrary.Callbacks;

namespace ServiceLibrary
{
    [ServiceContract(CallbackContract = typeof(ICentralTerminalCallback))]
    public interface ICentralTerminalService
    {
        [OperationContract]
        void RegisterCentralTerminal(int terminalId);

        [OperationContract]
        void UnregisterCentralTerminal(int terminalId);

        // Start pumpe
        [OperationContract]
        void StartPump(int stationId, int pumpId);

        // Stop pumpe
        [OperationContract]
        void StopPump(int stationId, int pumpId);

        // Getters
        [OperationContract]
        List<PumpStationDTO> GetPumpStations();

        [OperationContract]
        List<PumpDTO> GetPumps(int stationId);

        // Hent oplysninger om alle pumpestationer

        // Subscribtions
        // Hent oplysning om aktuel vandstand
        [OperationContract]
        void Subscribe(int terminalId, int stationId);

        [OperationContract]
        void Unsubscribe(int terminalId, int stationId);
    }
}